struct Solution {}

fn main() {}

impl Solution {
    pub fn plus_one(digits: Vec<i32>) -> Vec<i32> {
        let mut digits_mut = digits;
        digits_mut.reverse();
        let digits_size = digits_mut.len();
        for idx in 0..digits_size {
            digits_mut[idx] += 1;
            if digits_mut[idx] == 10 {
                digits_mut[idx] = 0;
                continue;
            }
            break;
        }
        // 处理最高位为10的情况
        if digits_mut[digits_size - 1] == 0 {
            digits_mut[digits_size - 1] = 0;
            digits_mut.push(1);
        }
        digits_mut.reverse();
        digits_mut
    }
}
